package com.gem.back.service;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gem.back.entity.AoaAttendsList;
import com.gem.back.entity.AoaNoticeList;
import com.gem.back.entity.AoaUser;
import org.apache.ibatis.annotations.Param;

import javax.servlet.http.HttpServletRequest;
import java.util.Date;
import java.util.List;

/**
 * <p>
 *  考勤服务类
 * </p>
 *
 * @author hhhy
 * @since 2020-02-22
 */
public interface IAoaAttendsListService extends IService<AoaAttendsList> {

    /**
     * 查询所有用户考勤信息
     */
    List<AoaAttendsList> findByAttendList(Integer currentPage, Integer pageCount, String userName);
    /**
     * 获取总页数
     */
    Integer getTotalPage(Integer pageCount, String userName);

    /**
     * 保存考勤信息
     */
    void saveAttend(AoaAttendsList aoaAttendsList, HttpServletRequest request);

    /**
     * 查询部门下员工考勤信息
     */
    List<AoaAttendsList> findByParentId(Integer currentPage, Integer pageCount, String userName);
    /**
     * 获取总页数
     */
    Integer getEmpTotal(Integer pageCount, Integer fatherId);

    /**
     * 根据id查询登录用户的考勤信息
     */
    List<AoaAttendsList> findAttendById(Integer currentPage, Integer pageCount, String userName);
    /**
     * 获取总页数
     */
    Integer getMyTotal(Integer pageCount, String userName);

    /**
     * 根据id查询考勤信息
     */
    AoaAttendsList findById(Integer attendsId);

    /**
     * 查询登录用户当天所有的考勤记录
     *
     */
    Integer countrecord(String nowdate, Integer userId);


    /**
     * 更改考勤时间
     */
    Integer updatetime(Date date, String hourmin, Integer status, Integer attendsId);

    /**
     * 查询用户当天下班的考勤记录id
     */
    Integer findoffworkid(String nowdate, Integer userId);

    /**
     * 查找某用户某天最新记录用来显示用户最新的类型和考勤时间
     */
    AoaAttendsList findlastest(String nowdate, Integer userId);

}
